    mesh.setNumVerts(60);
    mesh.setNumFaces(97);
    mesh.setVert(0, size * Point3(-0.707107,0.707107,0.000000));
    mesh.setVert(1, size * Point3(0.000000,0.707107,0.000000));
    mesh.setVert(2, size * Point3(0.707107,0.707107,0.000000));
    mesh.setVert(3, size * Point3(-0.707107,-0.707107,0.000000));
    mesh.setVert(4, size * Point3(0.000000,-0.707107,0.000000));
    mesh.setVert(5, size * Point3(0.707107,-0.707107,0.000000));
    mesh.setVert(6, size * Point3(0.707107,-0.000000,0.000000));
    mesh.setVert(7, size * Point3(0.000000,0.000000,-0.669281));
    mesh.setVert(8, size * Point3(-0.707107,-0.000000,0.000000));
    mesh.setVert(9, size * Point3(0.000000,-0.000000,0.669281));
    mesh.setVert(10, size * Point3(-0.003537,0.009140,0.270244));
    mesh.setVert(11, size * Point3(0.235070,-0.086041,0.270244));
    mesh.setVert(12, size * Point3(0.235070,0.104322,0.270244));
    mesh.setVert(13, size * Point3(-0.242145,0.104322,0.270244));
    mesh.setVert(14, size * Point3(-0.242145,-0.086041,0.270244));
    mesh.setVert(15, size * Point3(-0.003537,0.009140,0.521651));
    mesh.setVert(16, size * Point3(-0.003537,0.009140,0.521651));
    mesh.setVert(17, size * Point3(-0.003537,0.009140,0.521651));
    mesh.setVert(18, size * Point3(-0.003537,0.009140,0.521651));
    mesh.setVert(19, size * Point3(-0.003537,0.009140,0.521651));
    mesh.setVert(20, size * Point3(-0.004383,0.010493,0.092095));
    mesh.setVert(21, size * Point3(0.030973,0.010493,0.092095));
    mesh.setVert(22, size * Point3(-0.004383,0.045849,0.092095));
    mesh.setVert(23, size * Point3(-0.039738,0.010493,0.092095));
    mesh.setVert(24, size * Point3(-0.004383,-0.024862,0.092095));
    mesh.setVert(25, size * Point3(0.030973,0.010493,0.268871));
    mesh.setVert(26, size * Point3(-0.004383,0.045849,0.268871));
    mesh.setVert(27, size * Point3(-0.039738,0.010493,0.268871));
    mesh.setVert(28, size * Point3(-0.004383,-0.024862,0.268871));
    mesh.setVert(29, size * Point3(-0.004383,0.010493,0.268871));
    mesh.setVert(30, size * Point3(-0.104335,0.089141,-0.307304));
    mesh.setVert(31, size * Point3(-0.104335,0.089141,-0.004492));
    mesh.setVert(32, size * Point3(0.098986,0.089141,-0.307304));
    mesh.setVert(33, size * Point3(0.151108,0.089141,-0.307304));
    mesh.setVert(34, size * Point3(0.151108,0.089141,0.077963));
    mesh.setVert(35, size * Point3(0.102423,0.089141,0.077963));
    mesh.setVert(36, size * Point3(0.102423,0.089141,-0.224858));
    mesh.setVert(37, size * Point3(-0.100897,0.089141,0.077963));
    mesh.setVert(38, size * Point3(-0.153019,0.089141,0.077963));
    mesh.setVert(39, size * Point3(-0.153019,0.089141,-0.307304));
    mesh.setVert(40, size * Point3(-0.104335,-0.061119,-0.307304));
    mesh.setVert(41, size * Point3(-0.104335,-0.061119,-0.004492));
    mesh.setVert(42, size * Point3(0.098986,-0.061119,-0.307304));
    mesh.setVert(43, size * Point3(0.151108,-0.061119,-0.307304));
    mesh.setVert(44, size * Point3(0.151108,-0.061119,0.077963));
    mesh.setVert(45, size * Point3(0.102423,-0.061119,0.077963));
    mesh.setVert(46, size * Point3(0.102423,-0.061119,-0.224858));
    mesh.setVert(47, size * Point3(-0.100897,-0.061119,0.077963));
    mesh.setVert(48, size * Point3(-0.153019,-0.061119,0.077963));
    mesh.setVert(49, size * Point3(-0.153019,-0.061119,-0.307304));
    mesh.setVert(50, size * Point3(-0.004383,0.010493,-0.541484));
    mesh.setVert(51, size * Point3(0.030973,0.010493,-0.541484));
    mesh.setVert(52, size * Point3(-0.004383,0.045849,-0.541484));
    mesh.setVert(53, size * Point3(-0.039738,0.010493,-0.541484));
    mesh.setVert(54, size * Point3(-0.004383,-0.024862,-0.541484));
    mesh.setVert(55, size * Point3(0.030973,0.010493,-0.364708));
    mesh.setVert(56, size * Point3(-0.004383,0.045849,-0.364708));
    mesh.setVert(57, size * Point3(-0.039738,0.010493,-0.364708));
    mesh.setVert(58, size * Point3(-0.004383,-0.024862,-0.364708));
    mesh.setVert(59, size * Point3(-0.004383,0.010493,-0.364708));
    mesh.faces[0].setVerts(7,8,1);
    mesh.faces[0].setEdgeVisFlags(1,1,1);
    mesh.faces[0].setSmGroup(20);
    mesh.faces[1].setVerts(7,6,4);
    mesh.faces[1].setEdgeVisFlags(1,1,1);
    mesh.faces[1].setSmGroup(20);
    mesh.faces[2].setVerts(4,8,7);
    mesh.faces[2].setEdgeVisFlags(1,1,1);
    mesh.faces[2].setSmGroup(0);
    mesh.faces[3].setVerts(6,7,4);
    mesh.faces[3].setEdgeVisFlags(1,1,1);
    mesh.faces[3].setSmGroup(0);
    mesh.faces[4].setVerts(7,1,6);
    mesh.faces[4].setEdgeVisFlags(1,1,1);
    mesh.faces[4].setSmGroup(0);
    mesh.faces[5].setVerts(8,7,1);
    mesh.faces[5].setEdgeVisFlags(1,1,1);
    mesh.faces[5].setSmGroup(0);
    mesh.faces[6].setVerts(8,9,1);
    mesh.faces[6].setEdgeVisFlags(1,1,0);
    mesh.faces[6].setSmGroup(20);
    mesh.faces[7].setVerts(6,9,4);
    mesh.faces[7].setEdgeVisFlags(1,1,0);
    mesh.faces[7].setSmGroup(20);
    mesh.faces[8].setVerts(8,4,9);
    mesh.faces[8].setEdgeVisFlags(1,1,1);
    mesh.faces[8].setSmGroup(0);
    mesh.faces[9].setVerts(6,9,4);
    mesh.faces[9].setEdgeVisFlags(1,1,1);
    mesh.faces[9].setSmGroup(0);
    mesh.faces[10].setVerts(1,9,6);
    mesh.faces[10].setEdgeVisFlags(1,1,1);
    mesh.faces[10].setSmGroup(0);
    mesh.faces[11].setVerts(8,9,1);
    mesh.faces[11].setEdgeVisFlags(1,1,1);
    mesh.faces[11].setSmGroup(0);
    mesh.faces[12].setVerts(8,1,9);
    mesh.faces[12].setEdgeVisFlags(1,1,1);
    mesh.faces[12].setSmGroup(0);
    mesh.faces[13].setVerts(10,12,11);
    mesh.faces[13].setEdgeVisFlags(0,1,0);
    mesh.faces[13].setSmGroup(1);
    mesh.faces[14].setVerts(10,13,12);
    mesh.faces[14].setEdgeVisFlags(0,1,0);
    mesh.faces[14].setSmGroup(1);
    mesh.faces[15].setVerts(10,14,13);
    mesh.faces[15].setEdgeVisFlags(0,1,0);
    mesh.faces[15].setSmGroup(1);
    mesh.faces[16].setVerts(10,11,14);
    mesh.faces[16].setEdgeVisFlags(0,1,0);
    mesh.faces[16].setSmGroup(1);
    mesh.faces[17].setVerts(11,16,15);
    mesh.faces[17].setEdgeVisFlags(0,1,1);
    mesh.faces[17].setSmGroup(8);
    mesh.faces[18].setVerts(11,12,16);
    mesh.faces[18].setEdgeVisFlags(1,1,0);
    mesh.faces[18].setSmGroup(8);
    mesh.faces[19].setVerts(12,17,16);
    mesh.faces[19].setEdgeVisFlags(0,1,1);
    mesh.faces[19].setSmGroup(8);
    mesh.faces[20].setVerts(12,13,17);
    mesh.faces[20].setEdgeVisFlags(1,1,0);
    mesh.faces[20].setSmGroup(8);
    mesh.faces[21].setVerts(13,18,17);
    mesh.faces[21].setEdgeVisFlags(0,1,1);
    mesh.faces[21].setSmGroup(8);
    mesh.faces[22].setVerts(13,14,18);
    mesh.faces[22].setEdgeVisFlags(1,1,0);
    mesh.faces[22].setSmGroup(8);
    mesh.faces[23].setVerts(14,15,18);
    mesh.faces[23].setEdgeVisFlags(0,1,1);
    mesh.faces[23].setSmGroup(8);
    mesh.faces[24].setVerts(14,11,15);
    mesh.faces[24].setEdgeVisFlags(1,1,0);
    mesh.faces[24].setSmGroup(8);
    mesh.faces[25].setVerts(19,15,16);
    mesh.faces[25].setEdgeVisFlags(0,1,0);
    mesh.faces[25].setSmGroup(1);
    mesh.faces[26].setVerts(19,16,17);
    mesh.faces[26].setEdgeVisFlags(0,1,0);
    mesh.faces[26].setSmGroup(1);
    mesh.faces[27].setVerts(19,17,18);
    mesh.faces[27].setEdgeVisFlags(0,1,0);
    mesh.faces[27].setSmGroup(1);
    mesh.faces[28].setVerts(19,18,15);
    mesh.faces[28].setEdgeVisFlags(0,1,0);
    mesh.faces[28].setSmGroup(1);
    mesh.faces[29].setVerts(20,22,21);
    mesh.faces[29].setEdgeVisFlags(0,1,0);
    mesh.faces[29].setSmGroup(1);
    mesh.faces[30].setVerts(20,23,22);
    mesh.faces[30].setEdgeVisFlags(0,1,0);
    mesh.faces[30].setSmGroup(1);
    mesh.faces[31].setVerts(20,24,23);
    mesh.faces[31].setEdgeVisFlags(0,1,0);
    mesh.faces[31].setSmGroup(1);
    mesh.faces[32].setVerts(20,21,24);
    mesh.faces[32].setEdgeVisFlags(0,1,0);
    mesh.faces[32].setSmGroup(1);
    mesh.faces[33].setVerts(21,26,25);
    mesh.faces[33].setEdgeVisFlags(0,1,1);
    mesh.faces[33].setSmGroup(8);
    mesh.faces[34].setVerts(21,22,26);
    mesh.faces[34].setEdgeVisFlags(1,1,0);
    mesh.faces[34].setSmGroup(8);
    mesh.faces[35].setVerts(22,27,26);
    mesh.faces[35].setEdgeVisFlags(0,1,1);
    mesh.faces[35].setSmGroup(8);
    mesh.faces[36].setVerts(22,23,27);
    mesh.faces[36].setEdgeVisFlags(1,1,0);
    mesh.faces[36].setSmGroup(8);
    mesh.faces[37].setVerts(23,28,27);
    mesh.faces[37].setEdgeVisFlags(0,1,1);
    mesh.faces[37].setSmGroup(8);
    mesh.faces[38].setVerts(23,24,28);
    mesh.faces[38].setEdgeVisFlags(1,1,0);
    mesh.faces[38].setSmGroup(8);
    mesh.faces[39].setVerts(24,25,28);
    mesh.faces[39].setEdgeVisFlags(0,1,1);
    mesh.faces[39].setSmGroup(8);
    mesh.faces[40].setVerts(24,21,25);
    mesh.faces[40].setEdgeVisFlags(1,1,0);
    mesh.faces[40].setSmGroup(8);
    mesh.faces[41].setVerts(29,25,26);
    mesh.faces[41].setEdgeVisFlags(0,1,0);
    mesh.faces[41].setSmGroup(1);
    mesh.faces[42].setVerts(29,26,27);
    mesh.faces[42].setEdgeVisFlags(0,1,0);
    mesh.faces[42].setSmGroup(1);
    mesh.faces[43].setVerts(29,27,28);
    mesh.faces[43].setEdgeVisFlags(0,1,0);
    mesh.faces[43].setSmGroup(1);
    mesh.faces[44].setVerts(29,28,25);
    mesh.faces[44].setEdgeVisFlags(0,1,0);
    mesh.faces[44].setSmGroup(1);
    mesh.faces[45].setVerts(30,31,41);
    mesh.faces[45].setEdgeVisFlags(1,1,0);
    mesh.faces[45].setSmGroup(1);
    mesh.faces[46].setVerts(30,41,40);
    mesh.faces[46].setEdgeVisFlags(0,1,1);
    mesh.faces[46].setSmGroup(1);
    mesh.faces[47].setVerts(31,32,42);
    mesh.faces[47].setEdgeVisFlags(1,1,0);
    mesh.faces[47].setSmGroup(4);
    mesh.faces[48].setVerts(31,42,41);
    mesh.faces[48].setEdgeVisFlags(0,1,1);
    mesh.faces[48].setSmGroup(4);
    mesh.faces[49].setVerts(32,33,43);
    mesh.faces[49].setEdgeVisFlags(1,1,0);
    mesh.faces[49].setSmGroup(2);
    mesh.faces[50].setVerts(32,43,42);
    mesh.faces[50].setEdgeVisFlags(0,1,1);
    mesh.faces[50].setSmGroup(2);
    mesh.faces[51].setVerts(33,34,44);
    mesh.faces[51].setEdgeVisFlags(1,1,0);
    mesh.faces[51].setSmGroup(4);
    mesh.faces[52].setVerts(33,44,43);
    mesh.faces[52].setEdgeVisFlags(0,1,1);
    mesh.faces[52].setSmGroup(4);
    mesh.faces[53].setVerts(34,35,45);
    mesh.faces[53].setEdgeVisFlags(1,1,0);
    mesh.faces[53].setSmGroup(2);
    mesh.faces[54].setVerts(34,45,44);
    mesh.faces[54].setEdgeVisFlags(0,1,1);
    mesh.faces[54].setSmGroup(2);
    mesh.faces[55].setVerts(35,36,46);
    mesh.faces[55].setEdgeVisFlags(1,1,0);
    mesh.faces[55].setSmGroup(4);
    mesh.faces[56].setVerts(35,46,45);
    mesh.faces[56].setEdgeVisFlags(0,1,1);
    mesh.faces[56].setSmGroup(4);
    mesh.faces[57].setVerts(36,37,47);
    mesh.faces[57].setEdgeVisFlags(1,1,0);
    mesh.faces[57].setSmGroup(2);
    mesh.faces[58].setVerts(36,47,46);
    mesh.faces[58].setEdgeVisFlags(0,1,1);
    mesh.faces[58].setSmGroup(2);
    mesh.faces[59].setVerts(37,38,48);
    mesh.faces[59].setEdgeVisFlags(1,1,0);
    mesh.faces[59].setSmGroup(4);
    mesh.faces[60].setVerts(37,48,47);
    mesh.faces[60].setEdgeVisFlags(0,1,1);
    mesh.faces[60].setSmGroup(4);
    mesh.faces[61].setVerts(38,39,49);
    mesh.faces[61].setEdgeVisFlags(1,1,0);
    mesh.faces[61].setSmGroup(2);
    mesh.faces[62].setVerts(38,49,48);
    mesh.faces[62].setEdgeVisFlags(0,1,1);
    mesh.faces[62].setSmGroup(2);
    mesh.faces[63].setVerts(39,30,40);
    mesh.faces[63].setEdgeVisFlags(1,1,0);
    mesh.faces[63].setSmGroup(4);
    mesh.faces[64].setVerts(39,40,49);
    mesh.faces[64].setEdgeVisFlags(0,1,1);
    mesh.faces[64].setSmGroup(4);
    mesh.faces[65].setVerts(38,30,39);
    mesh.faces[65].setEdgeVisFlags(0,1,1);
    mesh.faces[65].setSmGroup(10);
    mesh.faces[66].setVerts(38,31,30);
    mesh.faces[66].setEdgeVisFlags(0,1,0);
    mesh.faces[66].setSmGroup(10);
    mesh.faces[67].setVerts(37,31,38);
    mesh.faces[67].setEdgeVisFlags(0,0,1);
    mesh.faces[67].setSmGroup(10);
    mesh.faces[68].setVerts(36,31,37);
    mesh.faces[68].setEdgeVisFlags(0,0,1);
    mesh.faces[68].setSmGroup(10);
    mesh.faces[69].setVerts(36,32,31);
    mesh.faces[69].setEdgeVisFlags(0,1,0);
    mesh.faces[69].setSmGroup(10);
    mesh.faces[70].setVerts(36,33,32);
    mesh.faces[70].setEdgeVisFlags(0,1,0);
    mesh.faces[70].setSmGroup(10);
    mesh.faces[71].setVerts(36,34,33);
    mesh.faces[71].setEdgeVisFlags(0,1,0);
    mesh.faces[71].setSmGroup(10);
    mesh.faces[72].setVerts(35,34,36);
    mesh.faces[72].setEdgeVisFlags(1,0,1);
    mesh.faces[72].setSmGroup(10);
    mesh.faces[73].setVerts(48,49,40);
    mesh.faces[73].setEdgeVisFlags(1,1,0);
    mesh.faces[73].setSmGroup(10);
    mesh.faces[74].setVerts(48,40,41);
    mesh.faces[74].setEdgeVisFlags(0,1,0);
    mesh.faces[74].setSmGroup(10);
    mesh.faces[75].setVerts(47,48,41);
    mesh.faces[75].setEdgeVisFlags(1,0,0);
    mesh.faces[75].setSmGroup(10);
    mesh.faces[76].setVerts(46,47,41);
    mesh.faces[76].setEdgeVisFlags(1,0,0);
    mesh.faces[76].setSmGroup(10);
    mesh.faces[77].setVerts(46,41,42);
    mesh.faces[77].setEdgeVisFlags(0,1,0);
    mesh.faces[77].setSmGroup(10);
    mesh.faces[78].setVerts(46,42,43);
    mesh.faces[78].setEdgeVisFlags(0,1,0);
    mesh.faces[78].setSmGroup(10);
    mesh.faces[79].setVerts(46,43,44);
    mesh.faces[79].setEdgeVisFlags(0,1,0);
    mesh.faces[79].setSmGroup(10);
    mesh.faces[80].setVerts(45,46,44);
    mesh.faces[80].setEdgeVisFlags(1,0,1);
    mesh.faces[80].setSmGroup(10);
    mesh.faces[81].setVerts(50,52,51);
    mesh.faces[81].setEdgeVisFlags(0,1,0);
    mesh.faces[81].setSmGroup(1);
    mesh.faces[82].setVerts(50,53,52);
    mesh.faces[82].setEdgeVisFlags(0,1,0);
    mesh.faces[82].setSmGroup(1);
    mesh.faces[83].setVerts(50,54,53);
    mesh.faces[83].setEdgeVisFlags(0,1,0);
    mesh.faces[83].setSmGroup(1);
    mesh.faces[84].setVerts(50,51,54);
    mesh.faces[84].setEdgeVisFlags(0,1,0);
    mesh.faces[84].setSmGroup(1);
    mesh.faces[85].setVerts(51,56,55);
    mesh.faces[85].setEdgeVisFlags(0,1,1);
    mesh.faces[85].setSmGroup(8);
    mesh.faces[86].setVerts(51,52,56);
    mesh.faces[86].setEdgeVisFlags(1,1,0);
    mesh.faces[86].setSmGroup(8);
    mesh.faces[87].setVerts(52,57,56);
    mesh.faces[87].setEdgeVisFlags(0,1,1);
    mesh.faces[87].setSmGroup(8);
    mesh.faces[88].setVerts(52,53,57);
    mesh.faces[88].setEdgeVisFlags(1,1,0);
    mesh.faces[88].setSmGroup(8);
    mesh.faces[89].setVerts(53,58,57);
    mesh.faces[89].setEdgeVisFlags(0,1,1);
    mesh.faces[89].setSmGroup(8);
    mesh.faces[90].setVerts(53,54,58);
    mesh.faces[90].setEdgeVisFlags(1,1,0);
    mesh.faces[90].setSmGroup(8);
    mesh.faces[91].setVerts(54,55,58);
    mesh.faces[91].setEdgeVisFlags(0,1,1);
    mesh.faces[91].setSmGroup(8);
    mesh.faces[92].setVerts(54,51,55);
    mesh.faces[92].setEdgeVisFlags(1,1,0);
    mesh.faces[92].setSmGroup(8);
    mesh.faces[93].setVerts(59,55,56);
    mesh.faces[93].setEdgeVisFlags(0,1,0);
    mesh.faces[93].setSmGroup(1);
    mesh.faces[94].setVerts(59,56,57);
    mesh.faces[94].setEdgeVisFlags(0,1,0);
    mesh.faces[94].setSmGroup(1);
    mesh.faces[95].setVerts(59,57,58);
    mesh.faces[95].setEdgeVisFlags(0,1,0);
    mesh.faces[95].setSmGroup(1);
    mesh.faces[96].setVerts(59,58,55);
    mesh.faces[96].setEdgeVisFlags(0,1,0);
    mesh.faces[96].setSmGroup(1);
